纷享Markdown 官方教程块级(Block)语法(一) 2017-03-20
Markdown 语法
参考:JOHN GRUBER「Markdown 语法作者」个人网站
注: 该文档就是采用 Markdown 语法进行编辑的。
概述
Markdown 标记语言产生的意义就是让文本编辑能够更容易的读和写。
Markdown 注重可读性。可发布的 Markdown 标记的文档应该是纯文本,不应该包含用来格式化的标记。Markdown 语法由标点符号标记,标点符号的选择尽量展示其最原始的含义。例如用*强调,>表示引用等等。
Markdown 并不是 HTML 的替代品,它仅仅支持 HTML 的部分标签。HTML 是发布格式,Markdown 是书写格式。如果想要使用HTML中的其他标签,可以直接在Markdown文档中使用。
Markdown语法对块级别的HTML元素有使用限制,例如 <div>,<table>,<pre>,<p>等等。在使用的时候必须在块的头和尾加入空行,并且头和尾标记不能有缩进。
例如在Markdown文档中添加HTML表格语法如下:
上一段落
<table>
<tr>
<td>table content</td>
</tr>
</table>
下一段落
注意: Markdown语法在上述块内不起作用,例如在HTML块中使用强调不起作用。
内联级别的 HTML 标签,例如 <span>, <cite> 或者 <del> 可以在任何地方使用。和块级 HTML 标签不一样的地方就是,Markdown 语法会解析内联级别内的内容。
转义字符
在 HTML 中,< 和 & 需要特殊处理。< 标示标签的开始,& 标示HTML实体。如果要使用,必须采用 <和&来标示<和&。这个是比较麻烦的一点,例如要写“AT&T”,在 Markdown 文档中必须写作 AT&T。甚至在文档中插入 URL,也需要转义,例如:
https://v2say.com/popular?page=1&num=10
必须写作:
https://v2say.com/popular?page=1&num=10
需要记住以上必须转义的地方,例如 © 即 © 标示版权的标记就不需要转义。
区块标记
段落
一段话由一行或多行文本组成,并由一个或多个空行「仅包含tab 或 空格」隔开。如果想要另起一段,则在句末添加两个或多个空格,然后再回车。
标题
Markdown 支持两种标题标示法:
标题下方用等号或者短横标示,例如:
大标题
=
小标题
-
= 和 - 的数量不限
用 # 在标题头部标示, # 后保留一个空格:
# 一号标题
## 二号标题
###### 六号标题
引用
Markdown 使用 > 标示引用段落。最好在每行之前添加 > :
> 这
> 是
> 引
>
> 用
效果如下:
这
是
引用
引用可以嵌套,需要在引用内部再添加一层 >:
> 引用一
>
> > 引用二
>
> 引用一
效果如下:
引用一
引用二
引用一
引用块可以包含其他 Markdown 元素, 包括 headers, lists, code:
> 1. This is the first list item.
> 2. This is the second list item.
>
> Here's some example code:
>
> return shell_exec("echo $input | $markdown_script");
效果如下:
- 第一条
- 第二条
代码段:
return shell_exec("echo $input | $markdown_script");
列表
Markdown 支持有序和无序列表
无序列表以 *,+,- 在行首标示– 以下3种表示是等价的:
* Red
* Green
* Blue
+ Red
+ Green
+ Blue
- Red
- Green
- Blue
有序列表由英文句号标示:
1. Bird
2. McHale
3. Parish
如果某个列表中包含多个段落,保证每行起始距页边4个空格或一个tab。
1. 第一段
第二段
2. 第二条
在列表中添加引用, > 符号需要缩进:
* A list item with a blockquote:
> This is a blockquote
> inside a list item.
效果如下:
A list item with a blockquote:
This is a blockquote
inside a list item.
代码块
引用代码块需要在行首添加4个空格或1个tab:
代码块标示如下:
public static void main(){
return;
}
效果如下:
public static void main(){
return;
}
代码块会持续到下一个无缩进的行或文章末尾。
在代码块中,&,< 和 > 会自动转换为 HTML 实体,其他普通的 Markdown 语法不会被 Markdown 语法解析。例如:
<div class="footer">
© 2004 Foo Corporation
</div>
**strong**
转化后如下:
<pre><code><div class="footer">
&copy; 2004 Foo Corporation
</div>
</code></pre>
水平分割线
由三个或以上的*,-标示水平分割线:
* * *
***
*****
- - -
---------------------------------------